﻿/**
 * 常量类的构造方法。
 */
function _Const() {
    // 格
    this.GRID_SIZE = 16                                                     // 尺寸

    // 游戏区域
    this.GAME_BOARD_GRID_COUNT_H = 20                                       // 横向格数
    this.GAME_BOARD_GRID_COUNT_V = 22                                       // 纵向格数
    this.GAME_BOARD_WIDTH = this.GRID_SIZE * this.GAME_BOARD_GRID_COUNT_H   // 宽度
    this.GAME_BOARD_HEIGHT = this.GRID_SIZE * this.GAME_BOARD_GRID_COUNT_V  // 高度
    this.GAME_BOARD_COLOR = "rgb(0, 0, 0)"                                  // 背景色

    // 定时器
    this.TIMER_INIT = 500                                                   // 初始间隔值，单位毫秒
    this.TIMER_GROW = 50                                                    // 增长间隔值，单位毫秒，难度每增加1级，间隔值减少此数

    // 难度
    this.DIFF_BASE = 5                                                      // 基数。分数每达到此数的整数倍时，难度增加
    this.DIFF_MAX = 10                                                      // 最大值。难度达到此数后不再增加

    // 事件
    this.UM_DIFFICULTY_UP = "UM_DIFFICULTY_UP"                              // 难度增加事件
    this.UM_SCORE = "UM_SCORE"                                              // 得分事件
    this.UM_GAME_OVER = "UM_GAME_OVER"                                      // 游戏结束事件

    // 胜利数
    this.WIN_NUMBER = this.DIFF_BASE * this.DIFF_MAX                        // 达到此数胜利

    // 蛇
    this.SNAKE_COLOR = "rgb(0, 255, 0)"                                     // 颜色
    
    // 果子
    this.APPLE_COLOR = "rgb(255, 0, 0)"                                     // 颜色

    // 音乐
    this.MUSIC_FILE_NAME = "./res/music.wav"                                // 文件路径

    // 方向键
    this.KEY_LEFT = 37                                                      // 左
    this.KEY_UP = 38                                                        // 上
    this.KEY_RIGHT = 39                                                     // 右
    this.KEY_DOWN = 40                                                      // 下
}

const Const = new _Const()                                                  // 常量
